package com.topwater.topwater.service.impl;

import com.topwater.topwater.entity.PySumreport;
import com.topwater.topwater.dao.PySumreportDao;
import com.topwater.topwater.service.PySumreportService;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import javax.annotation.Resource;

/**
 * (PySumreport)表服务实现类
 *
 * @author 胡文 qq:986776
 * 自定义生成器制造
 */
@Service("pySumreportService")
public class PySumreportServiceImpl implements PySumreportService {
    @Resource
    private PySumreportDao pySumreportDao;

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    @Override
    public PySumreport queryById(Integer id) {
        return this.pySumreportDao.queryById(id);
    }


    /**
     * 新增数据
     *
     * @param pySumreport 实例对象
     * @return 实例对象
     */
    @Override
    public PySumreport insert(PySumreport pySumreport) {
        this.pySumreportDao.insert(pySumreport);
        return pySumreport;
    }

    @Override
    public PySumreport insertNotNull(PySumreport pySumreport) {
        this.pySumreportDao.insertNotNull(pySumreport);
        return pySumreport;
    }

    /**
     * 修改数据
     *
     * @param pySumreport 实例对象
     * @return 实例对象
     */
    @Override
    public PySumreport update(PySumreport pySumreport) {
        this.pySumreportDao.update(pySumreport);
        return this.queryById(pySumreport.getId());
    }

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    @Override
    public boolean deleteById(Integer id) {
        return this.pySumreportDao.deleteById(id) > 0;
    }

    /**
     * 字符串自动模糊查询
     **/
    public List<PySumreport> queryByLike(PySumreport pySumreport) {
        return this.pySumreportDao.queryByLike(pySumreport);
    }

    public List<PySumreport> queryByLike2(String str) {
        return this.pySumreportDao.queryByLike2(str);
    }

    /**
     * 多表连接查询
     */
    public List<Map> queryJoin(@Param("pySumreport") PySumreport pySumreport, @Param("tables") String... tables) {
        return this.pySumreportDao.queryJoin(pySumreport, tables);
    }
}
